"""
@Author : 合肥一元数智教育科技有限公司
@Date :  2025/3/4 8:41
@Description :   抽象类
抽象类的设计 多用于设计一些规范
python中没有直接定义抽象类的方式   abc    ABC   继承
"""

from abc import ABC, abstractmethod
#  抽象类
class Animal(ABC):

    # 抽象方法
    @abstractmethod
    def bark(self):
        pass


class Dog(Animal):
    def bark(self):
        print('Dog barked')
    pass

class Cat(Animal):
    def bark(self):
        print('cat barked')
    pass

# 创建对象
# animal:Animal = Dog()
# TypeError: Can't instantiate abstract class Cat without an implementation for abstract method 'bark'
animal:Animal = Cat()
# 多态
animal.bark()